home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / borg.arc / LIFE.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-12-29  |  1.3 KB  |  76 lines

  1. 10  FOR I=1 TO 10:KEY I,"":NEXT
  2. 20  DIM A(25,25),B(25,25),B$(25,25),G(25)
  3. 30  CLS:PRINT"Welcome to Life!"
  4. 40  PRINT"How many live cells would you like to play with";
  5. 50  INPUT N
  6. 60  FOR R=1 TO N
  7. 70  PRINT"Input x coordinate of cell";R;
  8. 80  INPUT X
  9. 90  PRINT"Input y coordinate of cell";R;
  10. 100  INPUT Y
  11. 110  A(X,Y)=1
  12. 120  NEXT R
  13. 130  KEY(1) ON
  14. 140  Z=1
  15. 150  CLS
  16. 160  LOCATE 23,20:PRINT"PRESS F1 TO QUIT LIFE"
  17. 170  ON KEY(1) GOSUB 710
  18. 190  FOR Y=1 TO 20
  19. 200  FOR X=1 TO 20
  20. 210  G=0
  21. 220  IF A(X-1,Y-1)=1 THEN G=G+1
  22. 230  IF A(X,Y-1)=1 THEN G=G+1
  23. 240  IF A(X+1,Y-1)=1 THEN G=G+1
  24. 250  IF A(X-1,Y)=1 THEN G=G+1
  25. 260  IF A(X+1,Y)=1 THEN G=G+1
  26. 270  IF A(X-1,Y+1)=1 THEN G=G+1
  27. 280  IF A(X,Y+1)=1 THEN G=G+1
  28. 290  IF A(X+1,Y+1)=1 THEN G=G+1
  29. 300  IF A(X,Y)=0 THEN 320
  30. 310  IF A(X,Y)=1 THEN 330
  31. 320  B(X,Y)=0:IF G=3 THEN B(X,Y)=1:GOTO 335
  32. 330  B(X,Y)=1:IF G<2 OR G>3 THEN B(X,Y)=0
  33. 332  NEXT X
  34. 334  NEXT Y
  35. 335  GOSUB 590
  36. 336  FOR Y=1 TO 20
  37. 338  FOR X=1 TO 20
  38. 340  IF A(X,Y)=1 THEN GOSUB 550
  39. 350  IF A(X,Y)=0 THEN GOSUB 560
  40. 360  LOCATE 21,5:PRINT"GENERATION";Z
  41. 370  NEXT X
  42. 380  NEXT Y
  43. 390  Z=Z+1
  44. 400  GOSUB 650
  45. 410  FOR Y=1 TO 20
  46. 420  FOR X=1 TO 20
  47. 430  IF B(X,Y)=1 THEN GOSUB 570
  48. 440  IF B(X,Y)=0 THEN GOSUB 580
  49. 450  LOCATE 21,35:PRINT"GENERATION";Z
  50. 460  NEXT X
  51. 470  NEXT Y
  52. 480  FOR Y=1 TO 20
  53. 490  FOR X=1 TO 20
  54. 500  A(X,Y)=B(X,Y)
  55. 510  NEXT X
  56. 520  NEXT Y
  57. 530  GOTO 190
  58. 540  END
  59. 550  LOCATE X,Y:PRINT CHR$(178):RETURN
  60. 560  LOCATE X,Y:PRINT CHR$(176):RETURN
  61. 570  LOCATE X,Y+30:PRINT CHR$(178):RETURN
  62. 580  LOCATE X,Y+30:PRINT CHR$(176):RETURN
  63. 590  FOR Y=1 TO 20
  64. 600  FOR X=1 TO 20
  65. 610  LOCATE X,Y:PRINT CHR$(255)
  66. 620  NEXT X
  67. 630  NEXT Y
  68. 640  RETURN
  69. 650  FOR Y=1 TO 20
  70. 660  FOR X=1 TO 20
  71. 670  LOCATE X,Y+30:PRINT CHR$(255)
  72. 680  NEXT X
  73. 690  NEXT Y
  74. 700  RETURN
  75. 710  CHAIN "b:games.bas"
  76.